<?php

namespace app\constants;
class  HttpStatus
{
    /**
     * 用户请求数据成功【GET/POST】
     */
    const OK = [
        "CODE" => 200,
        "MESSAGE" => "请求成功"
    ];
    /**
     * 成功请求并创建了新的资源【POST/PUT/PATCH】
     */
    const CREATE = [
        "CODE" => 201,
        "MESSAGE" => "请求成功并创建了新的资源"
    ];
    /**
     * 已经接受请求，但未处理完成（异步任务）【*】
     */
    const ACCEPT = [
        "CODE" => 202,
        "MESSAGE" => "任务已加入后台队列"
    ];
    /**
     * 服务器成功处理，但不返回内容【DELETE】
     */
    const NO_CONTENT = [
        "CODE" => 204,
        "MESSAGE" => "用户删除数据成功"
    ];
    /**
     * （多种选择）  针对请求，服务器可执行多种操作。 服务器可根据请求者 (user agent) 选择一项操作，或提供操作列表供请求者选择。
     */
    const MULTIPLE_CHOICES =[
        "CODE"=>300,
        "MESSAGE"=>""
    ];
    /**
     * （永久移动）  请求的网页已永久移动到新位置。 服务器返回此响应（对 GET 或 HEAD 请求的响应）时，会自动将请求者转到新位置。
     */
    const MOVED_PERMANENTLY = [
        "CODE"=>301,
        "MESSAGE"=>""
    ];
    /**
     * 临时移动）  服务器目前从不同位置的网页响应请求，但请求者应继续使用原有位置来进行以后的请求。
     */
    const FOUND = [
        "CODE"=>302,
        "MESSAGE"=>""
    ];
    /**
     * 查看其他位置） 请求者应当对不同的位置使用单独的 GET 请求来检索响应时，服务器返回此代码。
     */
    const SEE_OTHER =[
        "CODE"=>303,
        "MESSAGE"=>""
    ];
    /**
     *  [POST/PUT/PATCH]：用户发出的请求有错误，服务器没有进行新建或修改数据的操作，该操作是幂等的
     */
    const INVALID_REQUEST = [
        "CODE"=>400,
        "MESSAGE"=>"发出的请求有错误"
    ];
    /**
     * 表示用户没有权限（令牌、用户名、密码错误）。
     */
    const UNAUTHORIZED =[
        "CODE"=>401,
        "MESSAGE"=>"没有权限访问"
    ];
    /**
     * 表示用户得到授权（与401错误相对），但是访问是被禁止的。
     */
    const FORBIDDEN =[
        "CODE"=>403,
        "MESSAGE"=>"访问被禁止"
    ];
    /**
     * 用户发出的请求针对的是不存在的记录，服务器没有进行操作，该操作是幂等的。
     */
    const NOT_FOUND = [
        "CODE" => 404,
        "MESSAGE" => "请求的数据不存在"
    ];
    /**
     * 客户端请求中的方法被禁止
     */
    const METHOD_NOT_ALLOWED=[
        "CODE"=>405,
        "MESSAGE"=>"请求方法被禁止"
    ];
    /**
     * [GET]：用户请求的格式不可得（比如用户请求JSON格式，但是只有XML格式）
     */
    const NOT_ACCEPTABLE=[
        "CODE"=>406,
        "MESSAGE"=>"请求的数据格式不存在"
    ];
    /**
     * 服务器等待客户端发送的请求时间过长，超时
     */
    const REQUEST_TIME_OUT=[
        "CODE"=>408,
        "MESSAGE"=>"客户端请求超时"
    ];
    /**
     *[GET]：  客户端请求的资源已经不存在。410不同于404，如果资源以前有现在被永久删除了可使用410代码，网站设计人员可通过301代码指定资源的新位置
     */
    const GONE=[
        "CODE"=>410,
        "MESSAGE"=>"请求的资源不存在"
    ];
    /**
     * 请求过多
     */
    const TOO_MANY_REQUESTS =[
        "CODE"=>429,
        "MESSAGE"=>"请求次数过多"
    ];
    /**
     * 服务器发生错误，用户将无法判断发出的请求是否成功。
     */
    const INTERNAL_SERVER_ERROR =[
        "CODE"=>500,
        "MESSAGE"=>"服务器发生错误"
    ];
    /**
     *  由于超载或系统维护，服务器暂时的无法处理客户端的请求。延时的长度可包含在服务器的Retry-After头信息中
     */
    const SERVICE_UNAVAILABLE =[
        "CODE"=>503,
        "MESSAGE"=>"服务器暂停服务"
    ];
}